#include <algorithm>
#include <string>
#include <memory>
#include "navi_dwb_controller/dwb_controller.hpp"

namespace navi_dwb_controller
{

    void DwbController::configure(
        const rclcpp_lifecycle::LifecycleNode::WeakPtr &parent,
        std::string name)
    {
        RCLCPP_INFO(logger_, "DwbController configure");
        node_ = parent;

        auto node = node_.lock();

        logger_ = node->get_logger();
        RCLCPP_INFO(logger_, "configure name=%s)", name.c_str());
    }

    void DwbController::cleanup()
    {
        RCLCPP_INFO(logger_, "cleanup");
    }

    void DwbController::activate()
    {
        RCLCPP_INFO(logger_, "activate");
    }

    void DwbController::deactivate()
    {
        RCLCPP_INFO(logger_, "deactivate");
    }

    void DwbController::setSpeedLimit(const double &speed_limit, const bool &percentage)
    {
        (void)speed_limit;
        (void)percentage;
        RCLCPP_INFO(logger_, "setSpeedLimit speed_limit= %f,percentage=%d)", speed_limit, percentage);
    }

    void DwbController::setPlan()
    {
        RCLCPP_INFO(logger_, "setPlan");
    }

} // namespace navi_dwb_controller
#include "pluginlib/class_list_macros.hpp"
PLUGINLIB_EXPORT_CLASS(navi_dwb_controller::DwbController, navi_core::Controller)